﻿#pragma once


namespace micro{
namespace gui{


class QRegion
{
	// No copy constructor.
	//_NO_COPY( QRegion );
public:
	// Constructor.
	QRegion( HRGN hrgn = nullptr );

	// Destructor.
	~QRegion();

	// Interface.
	void Delete();
 
	void Attach( HRGN hrgn );
	HRGN Detach();
	bool IsValid();
	static QRegion  FromHandle( HRGN hGdiObject );
	 
	// Operator overload.
	operator HRGN() const;

protected:
	 
	
	// Data
	HRGN 	m_hRegion;
	bool	m_bDestroy;
	 
};



}

}//micro